Defensive Certification in Coq with ML Type-Safe Oracles

نویسنده

  • Sylvain Boulmé
چکیده

Initially promoted by CompCert, the embedding of untrusted Ocaml code into extracted code from Coq – through a skeptical approach – significantly simplifies Coq developments of formally proved software. However, as illustrated by various examples of this paper, such an embedding could be unsound. This paper conjectures sufficient conditions to ensure soundness. And, it illustrates the power of these conditions on the ultra-lightweight certification of an UNSAT-prover: its Coq sources (less than 250 lines) have been developed in around one man·day.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Proving ML Type Soundness Within Coq

We verify within the Coq proof assistant that ML typing is sound with respect to the dynamic semantics. We prove this property in the framework of a big step semantics and also in the framework of a reduction semantics. For that purpose, we use a syntax-directed version of the typing rules: we prove mechanically its equivalence with the initial type system provided by Damas and Milner. This wor...

متن کامل

Verifying Functional Bulk Synchronous Parallel Programs Using the Coq System

The Bulk Synchronous Parallel ML (BSML) is a functional language for Bulk Synchronous Parallel (BSP) programming. It is based on an extension of the λ-calculus by parallel operations on a parallel data structure named parallel vector, which is given by intention. We present the formal proofs of correctness of BSML programs in the Coq proof assistant. Such development demonstrates the usefulness...

متن کامل

Certified Web Services in Ynot

In this paper we demonstrate that it is possible to implement certified web systems in a way not much different from writing Standard ML or Haskell code, including use of imperative features like pointers, files, and socket I/O. We present a web-based course gradebook application developed with Ynot, a Coq library for certified imperative programming. We add a dialog-based I/O system to Ynot, a...

متن کامل

Une bibliothèque certifiée de programmes fonctionnels BSP

The Bulk-Synchronous Parallel ML (BSML) is a functional language for BSP programming, a model of computing which allows parallel programs to be ported to a wide range of architectures. It is based on an extension of the ML language by parallel operations on a parallel data structure called parallel vector, which is given by intention. We present the certification of a library of BSML programs w...

متن کامل

Refinement calculus for a simple certification of static polyhedral analysis with code transformations

A static analyzer such as ASTRÉE [CCF05, BCC10] is able to ensure safety of critical software, i.e. the absence of runtime overflows. But ASTRÉE is itself a very complex software and its full formal verification seems currently impossible. A more feasible alternative might be to make the analyzer produce a formally verifiable certificate. Such a certificate would summarize the proof of safety f...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2016